package com.linkedList;

public class ReverseLinkedList0129_206 {
//    public ListNode reverseList(ListNode head) {
//        if(head == null) return head;
//        ListNode cur = head;
//        ListNode temp;
//        ListNode pre = null;
//        while (cur.next != null){
//            temp = cur.next;
//            cur.next = pre;
//            pre = cur;
//            cur = temp;
//        }
//        cur.next = pre;
//        return cur;
//    }


    public ListNode reverseList(ListNode head) {
         return reverse(head,null);
    }
    public ListNode reverse(ListNode cur, ListNode pre){
        if(cur == null) return pre;
        ListNode temp = cur.next;
        cur.next = pre;
        return reverse(temp,cur);
    }
}

